One form of storage used in information processing systems is a diskette drive system. The use of a diskette drive system is especially prevalent in smaller computers such as personal computers. Information in the form of application programs and data can be stored on a diskette and accessed using the diskette drive system. Information can be both read from or written on the diskette in the diskette drive system.
A problem that can arise in a diskette based storage system is the inadvertent destruction or loss of information on a diskette. Such a loss can occur in a number of ways. For example, assume that a user is running application program XYZ that has a opened data file on the XYZ diskette. Assume further that the user then decides to suspend the execution of application XYZ and to run application ABC which is on another diskette. In one situation, if the user removes the XYZ diskette and then inserts the ABC diskette before suspending the application XYZ, then the ABC diskette will be destroyed. This will occur because information from the XYZ diskette including the data from the opened data file on the XYZ diskette will be written on the ABC diskette. In another scenario, if the user suspends the execution of application XYZ, switches diskettes and runs application ABC before resuming application XYZ, and then forgets to reinsert diskette XYZ, then the contents of the opened data file on the XYZ diskette may be lost.
The destruction and/or loss of data can also occur while running a single application program. For example, if the application is entirely on one diskette while the data used with the application is on a second diskette, then the possibility of inadvertently writing data on the application diskette exists. This possibility increases if the application is on more than one diskette and data is contained on at least one of the diskettes on which the application is written. As the user is required to change diskettes in a drive in order to execute a single application program and to record the data attendant with the execution of such application program, then the probability of inadvertently writing on the wrong diskette increases.
One known alternative for coping with the diskette destruction problem is to write a diskette identifying code in each sector on a diskette. This diskette identifying code can then be read from any track on the diskette and used to log the occurrence of insertion or removal of the diskette to and from the diskette drive. The diskette identifying code can then be read from any accessed track prior to a write operation in order to prevent erroneously writing on the wrong diskette. A drawback of this approach is that it requires extra space on the diskette which can no longer be used for either an application program or for data. Additionally, this technique increases the access time to a diskette because the diskette identifying code must be written in each new sector on diskette and then read prior to a write operation. An example of such a technique is found in in commonly assigned U.S. Pat. No. 4,578,722.
It would be most desirable to provide a technique for distinguishing between diskettes in a diskette drive using the information contained on a diskette without the need for additional identifying labels or codes. It would also be most desirable to provide the user of a diskette drive system with a warning that the wrong diskette is presently in the diskette drive. In this manner, the problem of inadvertent loss or destruction of information on a diskette, either application program or data, would be substantially eliminated.